Stretch Version 2.0 © 1991, 1992 Ross Tyler

This is shareware. Please send $10 to

Ross Tyler
759 Santa Fe Ct.
San Dimas, Calif 91773

Features:
Stretches your windows from any side or corner.
Iconifies and restores your windows.

Stretch is an system 7.0 CDEV/INIT (Control Panel/System Extension) that changes the way standard (WDEF 0) windows look and behave. Stretch Version 1.0 was packaged as an INIT (System Extension) and should be removed from your Extensions folder before Version 2.0 (this version) is placed in your Control Panels folder.

For all window variants that have a grow box, Stretch adds a border around the entire window that may be used as handles for stretching the window. This allows the user to stretch any window in any direction instead of just allowing window growth downward and to the right. For those of you juggling lots of windows on your screen this should be a great help. No longer do you need to move the window upward or to the right so that you can stretch the window from the bottom left corner.

Another feature of this package is that you are able to move a window by option-dragging in anywhere in the border. This feature is important to remember if you ever stretch the title bar underneath the menu bar.

Because this patches WDEF 0, all applications benefit from this new window behavior. The new windows use the same color scheme as system 7.0 windows and windows that do not have grow boxes look an behave exactly the same (except for iconification - see below).

Stretch Version 2.0 brings more help for those of you juggling many windows: It now allows iconification of any standard (WDEF 0) window that has a title bar. Iconification is done by clicking a configurable number of times (1 to 4), with a configurable state of modifier keys (up, down or don't care for each of the shift, control, option and command keys), in the title bar of the window. Use the same technique anywhere in the icon to restore the window. The Stretch control panel can be used to configure the settings.

As released, Stretch responds to a double-click in the title bar with no regard to the state of the modifier keys. Although this is a handy trigger, be aware that sometimes applications may use this same trigger for some other action. For example, Microsoft products (e.g. Excel and Word) treat a double-click in the title bar the same as a click in the zoom box of the window. UserLand's Frontier uses a double-click to traverse up in its object hierarchy. Because of these possible collisions you may want to reconfigure Stretch to use some other trigger.

Once a window is iconified, all clicks behave the same as a click in the title bar.

The user should be aware of what Stretch is doing when it iconifies a window because there is a side affect.  When a window is iconified, Stretch fools the application into thinking the window has simply moved (but not resized!). Any subsequent updates to the window are suppressed (clipped). When the window is restored, the application is told the window has moved again and and told to refresh its contents. The side affect is that if you tell the application to close the window while it is iconified it will remember the iconified position instead of the restored position (if it remembers position at all). It will remember the restored size properly. When the application opens up the window again it will be in the iconified position instead of the restored position.

When Stretch iconifies a window for the first time, it places the icon directly under the cursor. This is so the icon is immediately available for other placement (by dragging) and so that the icon is never positioned off the screen so that it can't be found.




Bugs fixed since version 1.0:

Incompatibilities with Excel and HyperCard have been fixed.

Incompatibilities with a Think C Utility called PopUpFuncs has been fixed (as any incompatibility with programs that wish to override WDEF 0 by placing a new WDEF 0 in the resource fork of a file outside the System).

Option-dragging has been fixed to look at the modifier keys correctly.
